function GSMainMenu () {
	var BUTTON_SXU = 0;
	var BUTTON_SYU = 0;
	var BUTTON_SXD = 0;
	var BUTTON_SYD = 80;
	var BUTTON_SW = 200;
	var BUTTON_SH = 80;
	
	var BUTTON_FONT = "Verdana";
	var BUTTON_FONT_SIZE = 20;
	var BUTTON_FONT_COLOR_R = 255;
	var BUTTON_FONT_COLOR_G = 255;
	var BUTTON_FONT_COLOR_B = 255;
	
	var SINGLE_PLAYER_BUTTON_DX = 87;
	var SINGLE_PLAYER_BUTTON_DY = 365;
	var SINGLE_PLAYER_BUTTON_DW = 200;
	var SINGLE_PLAYER_BUTTON_DH = 80;
	
	var MULTI_PLAYER_BUTTON_DX = 87;
	var MULTI_PLAYER_BUTTON_DY = 455;
	var MULTI_PLAYER_BUTTON_DW = 200;
	var MULTI_PLAYER_BUTTON_DH = 80;

	var BUTTON_PANEL_DX = 30;
	var BUTTON_PANEL_DY = 345;
	

	// Background image
	var splashImageHandle;
	var buttonPanelImageHandle
	
	// Button
	var singlePlayerButton;
	var multiPlayerButton;
	
	this.Init = function () {
		splashImageHandle = g_graphicEngine.LoadImage("Data/MainMenu/MainBG.jpg");
		buttonPanelImageHandle = g_graphicEngine.LoadImage("Data/MainMenu/ButtonPanel.jpg");
		
		singlePlayerButton = new Button();
		singlePlayerButton.LoadImage("Data/MainMenu/Button.png", BUTTON_SXU, BUTTON_SYU, BUTTON_SXD, BUTTON_SYD, BUTTON_SW, BUTTON_SH);
		singlePlayerButton.SetPosition (SINGLE_PLAYER_BUTTON_DX, SINGLE_PLAYER_BUTTON_DY, SINGLE_PLAYER_BUTTON_DW, SINGLE_PLAYER_BUTTON_DH);
		singlePlayerButton.SetCaption (TEXT_SINGLE_PLAYER, null, null, BUTTON_FONT, BUTTON_FONT_SIZE, BUTTON_FONT_COLOR_R, BUTTON_FONT_COLOR_G, BUTTON_FONT_COLOR_B);
		singlePlayerButton.RegisterFunction(SwitchToActionPhaseRightNow);
		
		multiPlayerButton = new Button();
		multiPlayerButton.LoadImage("Data/MainMenu/Button.png", BUTTON_SXU, BUTTON_SYU, BUTTON_SXD, BUTTON_SYD, BUTTON_SW, BUTTON_SH);
		multiPlayerButton.SetPosition (MULTI_PLAYER_BUTTON_DX, MULTI_PLAYER_BUTTON_DY, MULTI_PLAYER_BUTTON_DW, MULTI_PLAYER_BUTTON_DH);
		multiPlayerButton.SetCaption (TEXT_MULTI_PLAYER, null, null, BUTTON_FONT, BUTTON_FONT_SIZE, BUTTON_FONT_COLOR_R, BUTTON_FONT_COLOR_G, BUTTON_FONT_COLOR_B);
	}
	
	this.Update = function () {
	
	}
	
	this.Draw = function () {
		g_graphicEngine.DrawFast (g_context, splashImageHandle, 0, 0);
		
		g_graphicEngine.DrawFast (g_context, buttonPanelImageHandle, BUTTON_PANEL_DX, BUTTON_PANEL_DY);
		
		singlePlayerButton.Draw();
		multiPlayerButton.Draw();
	}
	
	
	this.OnSwitch = function () {
		
	}
	
	this.OnMouseMove = function (x, y) {
		singlePlayerButton.OnMouseMove (x, y);
		multiPlayerButton.OnMouseMove (x, y);
	}
	
	this.OnMouseDown = function (x, y) {
		singlePlayerButton.OnMouseDown (x, y);
		multiPlayerButton.OnMouseDown (x, y);
	}
	
	this.OnMouseUp = function (x, y) {
		singlePlayerButton.OnMouseUp (x, y);
		multiPlayerButton.OnMouseUp (x, y);
	}
	
	this.OnMouseWheel = function (delta) {
	
	}
	
	this.OnKeyDown = function (keycode) {
	
	}
	
	this.OnKeyUp = function (keycode) {
	
	}
	
	
	function SwitchToActionPhaseRightNow() {
		g_gsGamePlay.Init();
		SwitchState (g_gsGamePlay, true);
	}
}